#!/bin/bash
# get kubernetes container info

if [[ $1 == '--help' ]];then
    echo; echo "Usage: $0 <svc_keywords> <namespace>"; echo;
    exit 1
fi

KEYWORDS=${1:-all}

NAMESPACE=${2:-__NAMESPACE}

KUBESERVER=__KUBE_MASTER

if [[ ${KEYWORDS} == "all" ]];then
	SVCS=$(kubectl --server=${KUBESERVER} get svc --namespace=${NAMESPACE} | grep -v 'NAME' | cut -d' ' -f1)
	SVCSNUM=$(kubectl --server=${KUBESERVER} get svc --namespace=${NAMESPACE} | grep -v 'NAME' | cut -d' ' -f1 | wc -l)
else
	SVCS=$(kubectl --server=${KUBESERVER} get svc --namespace=${NAMESPACE} | grep -i ${KEYWORDS} | cut -d' ' -f1)
	SVCSNUM=$(kubectl --server=${KUBESERVER} get svc --namespace=${NAMESPACE} | grep -i ${KEYWORDS} | cut -d' ' -f1 | wc -l)
fi


PS3='Choose to get info options(input "q" to exit)> '

select svc in ${SVCS};do

    if [[ "$REPLY" =~ ^[0-9]+$ ]] && [ "$REPLY" -ge 1 -a "$REPLY" -le $SVCSNUM ];then
        echo -en "##########\\033[1;31m BEGIN \\033[0;39m##########";echo;echo
		kubectl describe svc $svc --namespace=${NAMESPACE} |grep Port | awk '{print $1,$3}' | column -t | grep -v Type
    elif [ "$REPLY" == 'q' ];then
        break
    else
        echo -en "##########\\033[1;31m BEGIN \\033[0;39m##########";echo;echo
        echo 'Input error'
    fi

    REPLY=''
    echo;echo -en "##########\\033[1;31m  END  \\033[0;39m##########";echo
done
